The Internet is a rapidly growing communication network of interconnected computers around the world. Together, these millions of connected computers form a vast repository of hypermedia information that is readily accessible by users through any of the connected computers from anywhere and anytime. As there is an increasing number of users who are connected to the Internet and surf for various information, they meanwhile create tremendous demands for more content to be available and methods to deliver them on the Internet. Currently, the most commonly available information that is deliverable on the Internet may include text information, images and graphics, videos and audio clips.
Continuous information such as continuous videos, audio clips, audiovisual or other multimedia works (referred to below collectively as “media”) may be one of the frequently requested network resources. It is therefore not uncommon to experience thousands of access requests simultaneously to a piece of popular video, audio or audiovisual program. Given a network bandwidth of a data network, on-time delivery of the program with the guaranteed quality of service (QoS) over the network becomes critical. It is evidently impractical to rely on a central media server to service all of the access requests at the same time. There is therefore a need for a versatile media delivery system that is capable of responding to thousands of access requests at the same time meanwhile keeping minimum impact on the quality of service.
Due to the technology improvement in the video compression, networking infrastructure, and the overall computer capability, the realization of Video on Demand (VOD) service is becoming feasible. During the recent years, the popularity of Internet World Wide Web accelerates the deployment of VOD service. RealNetwork's Real Media and Microsoft's NetShow Service have successfully delivered low quality audio/video over the Internet. Their services have been adopted many aspects of multimedia applications including (but not limited to) news on demand, distance learning, corporate training, and music distribution. More people than ever are connecting to the Internet and surfing the Web sites to locate the desired information. This triggers more content that is published on the Web.
To attract people to visit their Web sites, companies design Web pages with rich media presentation, especially by adding continuous media features. However, the unique feature of continuous media such as the large storage requirement, high network bandwidth requirement, and time-critical delivery has made the media distribution service over the Internet a nontrivial problem. This is especially true for media works that have high video content. The Video on Demand server is a good fit to this problem but not without challenge ahead. A popular web site potentially may experience thousands of accesses simultaneously. How a video server system is to process all these requests and deliver the video content to end user with the guaranteed quality becomes a pressing issue. One approach addressing the server scalability issue is to build a parallel video server by using the modern clustering technology. However, this approach cannot easily scale up to the magnitude of Web access so that it may be impossible for a central video server to service all end-to-end streaming requests.
Another approach is to add on video delivery service on the existing Internet Web access model. The popularity of Web service has created many new businesses. The Internet Service Providers (ISP) is one of them. They provide the necessary infrastructure, equipment, and service that allow their subscribers easy and fast access to the Internet world. To better serve their customers, an ISP office provides service to customers within a geographic area. All ISP offices are connected via high capacity and expensive backbone networks. All ISP offices work together as a unit. A subscriber's local ISP site is responsible for receiving the user access request, routing the request to the original Web site if necessary, acting as an agent by receiving the reply from the site, and forwarding the requested information back to the requestor. The steps of routing request to the original Web site and receiving the reply from it generate backbone traffic. When more requests travel through the backbone networks, higher backbone bandwidth is required. This means the higher operating cost for the ISP.
To address this problem, the Internet community has developed a Web caching strategy. A web proxy server is installed on a ISP site and serves as a caching engine to store the frequently accessed Web page relating to its subscriber area. Next time when the cached page is referenced, the proxy server delivers the page from its local cache directly instead of from the original Web server. This approach reduces the client's browsing response time (since the content is from local proxy server) and also reduces the backbone demands for content delivery, thus reducing operating cost.
The above web-caching model can also apply to large-scale end-to-end video delivery service.
Many Web proxy server products have been developed, with caching components principally directed to the HTML page and its embedded images. Most prior web proxies generally are not directed to video proxies. Other earlier research addresses QoS (Quality of Service) issues regarding end-to-end video delivery, but again not directed to video proxies. Some techniques have proposed a video staggering scheme to reduce the backbone bandwidth requirement on a distributed multimedia delivery. In these systems, when a particular video clip is requested by the user, a portion of the video content is streamed from central video server via WAN connection and a portion of the video content is streamed from the local proxy server. Both data streams enter a user's playback station. If a large portion of data is streamed from the local server, then less data is streaming from the backbone channel, which results in less backbone bandwidth requirement. Thus, a previous video staging technique is to prefetch a predetermined amount of video data and store them a priori at a proxy server. The proxy server stores the predetermined video content based on the access pattern generated in previous profile cycle, not current access behavior. Some earlier schemes can improve backbone utilization only for content encoded as VBR (variable bit rate) format. For CBR (constant bit rate) encoded video content, some prior approaches do not reduce any WAN bandwidth requirement.
Another approach caches a sliding window worth of data for each video being displayed so that a video can be partially stored at the proxy server. Thus, if a movie request by a client arrives at a proxy server, the proxy server would store a sliding window of W minutes of the movie in its local cache while the movie is being streamed and delivered to the client. If a new request arrives within the time window, the data in the local cache may be utilized so as to reduce the amount of data that has to be sent from the central server and thereby reducing the backbone bandwidth requirement. In one such sliding window approach described by Chan et al. in “Caching Schemes for Distributed Video Services,” 1999 IEEE International Conference on Communications (Vancouver Canada), June 1999, the window size is extended upon receipt of a new request for the same movie from that point on to a further of W minutes. While the sliding window scheme may reduce the backbone bandwidth requirement, such reduction is generally unpredictable and depends upon whether further requests for the same movie arrive within the window or not and how frequently such window is extended as described by Chan in the above-referenced article. Thus, if the further requests arrive outside of the sliding window, there will be no reduction in the backbone bandwidth.
Thus, none of the above approaches is entirely satisfactory. It is, therefore, desirable to provide an improved caching scheme whereby the above described difficulties are alleviated.